In traditional mobile calling plans, mobile subscribers place calls to other subscribers and are billed at the end of each billing period for each call placed during that period. Calls may be billed based on a variety of factors, such as length of each call and the type of call (i.e., voice, video, text message, long-distance, local, etc.). However, in recent years, mobile network operators have also offered prepaid calling plans to mobile subscribers where subscribers pay for calls in advance of placing the calls by setting aside a prepaid credit amount dedicated to paying for prepaid calls. Prepaid calling plans then use this prepaid credit amount associated with each prepaid mobile subscriber to determine, before connecting each call, whether the subscriber possesses enough prepaid credit to place the call. Upon completing the call, the subscriber's prepaid account is debited for the call.
Many network operators offer different charging rates for communications between in-network subscribers (i.e., both the calling subscriber and the called subscriber belong to the same network) and communications involving out-of-network subscribers. For example, some service providers offer unlimited, free in-network calls. In other plans, in-network calls may be billed at a lower rate than out of network calls. Therefore, ascertaining the network to which a subscriber belongs is important in appropriately charging prepaid customers for their communications.
In a DIAMETER network, CreditControlRequest (CCR) and CreditControlAnswer (CCA) messages are used for a number of purposes, such as for obtaining credits for prepaid-type services, as well as in policy control. In a prepaid call scenario, a CCR message is sent from the node providing service (e.g., IMS S-CSCF) to the prepaid subscriber to an Online Charging System (OCS) to request permission to provide the service and deduct the necessary credits from the subscriber's balance. A CCR message will include a calling party identifier, such as an IMSI or IMS private identify (IMPI), and a called party identifier, such as an MSISDN. The OCS will use these identifiers to determine the rate at which the prepaid subscriber should be charged.
Typically, a network operator will be assigned a range or set of ranges of MSISDNs for the operator's subscribers, and a subscriber's network operator can be identified based on a portion of the subscriber's MSISDN. However, subscribers are now allowed to change network operators and keep the same MSISDN number, by porting out or transferring their existing number to a different network operator. These ported numbers and associated routing information are maintained in a number portability database. Thus, a subscriber's network operator cannot be accurately identified by the subscriber's MSISDN alone, because the number portability database must be checked.
One problem associated with charging prepaid and non-prepaid subscribers occurs if a subscriber has ported his or her number to a current network provider and/or is communicating with another subscriber having a ported number, the OCS may not know the number(s) have been ported and may charge the subscribers incorrectly for their calls. Accordingly, there exists a need for systems, methods, and computer readable media for DIAMETER routing with portability correction.